perm filename AL.SAI[HAL,HE]3 blob sn#224872 filedate 1976-07-14 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "al"  COMMENT   Source files
C00004 00003	!  Main test loop
C00005 ENDMK
C⊗;
BEGIN "al"  COMMENT   Source files;

DEFINE RHT = "FALSE";

REQUIRE "ABBREV.SAI[HAL,HE]" SOURCE_FILE;
REQUIRE "RECAUX.HDR[HAL,HE]" SOURCE_FILE;
REQUIRE "PRINTX.HDR[HAL,HE]" SOURCE_FILE;

REQUIRE 300 SYSTEM!PDL;

REQUIRE "HALREC.REL[HAL,HE]" LOAD_MODULE;
    DEFINE RCELL = "RPTR(CELL)";
    EXTERNAL RECORD_CLASS VARIABLE (RANY ITEMVAR NAME;INTEGER DATATYPE, OFFSET);

REQUIRE "WLDMOD.REL[HAL,HE]" LOAD_MODULE;
    EXTERNAL RANY PROCEDURE STINTERP(RANY S);
    EXTERNAL RANY PROCEDURE STTBLK(RANY S);
    EXTERNAL RECURSIVE PROCEDURE WLDASG(RANY S; ITEMVAR
        IW;REFERENCE ITEMVAR OW;REFERENCE BOOLEAN NFLAG);
    EXTERNAL ITEMVAR PROCEDURE NEWWLD;  ! Actually in PMATCH;

REQUIRE "ALPRIN.HDR[HAL,HE]" SOURCE_FILE;

REQUIRE "GOBBLE.HDR[HAL,HE]" SOURCE_FILE;

REQUIRE "PASS3.REL[HAL,HE]" LOAD_MODULE;
    EXTERNAL RECURSIVE PROCEDURE TSCAN (RANY PARSETREE);
    EXTERNAL PROCEDURE COMERR(STRING MES);
    EXTERNAL PROCEDURE INITOUT;
    EXTERNAL PROCEDURE CLOSEOUT;

REQUIRE "TCALC.REL[HAL,HE]" LOAD_MODULE;

EXTERNAL ITEMVAR CURWLD;

PROCEDURE GCKILL(INTEGER FLAG);
	BEGIN
	REQUIRE "SYS:GOGTAB.DEF" SOURCE_FILE;
	EXTERNAL INTEGER ARRAY GOGTAB[0:1000];
	GOGTAB[RGCOFF]←FLAG;
	END;

INTEGER GCKFLG;
!  Main test loop;

GCKILL(GCKFLG);
INITOUT;
CURWLD ← NEWWLD;

WHILE TRUE DO
    BEGIN  "trial"
    BOOLEAN NF; ! Who knows what this does;
    RCELL SE; ! For the result of READ;
    RANY ST; ! For the result of GROVEL;
    RANY BS;  ! For the result of STTBLK;
    SE←READ;
    ST←GROVEL(SE);
    NF←TRUE;
    BS←STTBLK(ST);
    WLDASG(BS,CURWLD,CURWLD,NF);
    BS ← ST;
    ALPRIN(BS);
    PRINT(CRLF);
    PRINT(CRLF&"BEGINNING SIMULATION PHASE"&CRLF);
    STINTERP(BS);
    PRINT(CRLF&"BEGINNING CODE EMISSION PHASE"&CRLF);
    TSCAN(BS);
    END "trial";

CLOSEOUT;
END "al";